\hypertarget{classlexical}{
\section{Dokumentace třídy lexical}
\label{classlexical}\index{lexical@{lexical}}
}
Lexikální analýza.  


{\tt \#include $<$lexical.h$>$}

\subsection*{Třídy}
\begin{CompactItemize}
\item 
class \hyperlink{classlexical_1_1invalidToken}{invalidToken}
\begin{CompactList}\small\item\em Vyjímka neplatného tokenu. \item\end{CompactList}\item 
class \hyperlink{classlexical_1_1token}{token}
\begin{CompactList}\small\item\em Výstupní jednotka analyzátoru. \item\end{CompactList}\end{CompactItemize}
\subsection*{Veřejné metody}
\begin{CompactItemize}
\item 
\hypertarget{classlexical_b40b3b08e81c25436a3cd1111ccf0641}{
\hyperlink{classlexical_b40b3b08e81c25436a3cd1111ccf0641}{lexical} (\hyperlink{classreader}{reader} $\ast$)}
\label{classlexical_b40b3b08e81c25436a3cd1111ccf0641}

\begin{CompactList}\small\item\em Konstruktor analyzátoru. \item\end{CompactList}\item 
\hyperlink{classlexical_1_1token}{token} \& \hyperlink{classlexical_85376452fab03bc82895f2a0d6ec11f8}{getToken} (\hyperlink{classlexical_1_1token}{token} \&)  throw (invalidToken, reader::bufferOverflow, std::ifstream::failure)
\begin{CompactList}\small\item\em Vrací \hyperlink{classlexical_1_1token}{token}. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailní popis}
Lexikální analýza. 

Přebírá znaky z readeru a provádí lexikální analýzu. Výstupem jsou tokeny, nebo také vyjímka při neočekávaném symbolu. 

\subsection{Dokumentace k metodám}
\hypertarget{classlexical_85376452fab03bc82895f2a0d6ec11f8}{
\index{lexical@{lexical}!getToken@{getToken}}
\index{getToken@{getToken}!lexical@{lexical}}
\subsubsection[{getToken}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lexical::token} \& lexical::getToken ({\bf token} \& {\em tok})  throw ({\bf invalidToken}, {\bf reader::bufferOverflow}, std::ifstream::failure)}}
\label{classlexical_85376452fab03bc82895f2a0d6ec11f8}


Vrací \hyperlink{classlexical_1_1token}{token}. 

Odstraňuje všechny přebytečné znaky jako např. mezery, tabulátory, ... a vrací \hyperlink{classlexical_1_1token}{token}. Při dosažení konce souboru, \hyperlink{classlexical_1_1token}{token} obsahuje symbol END. Při vracení tokenu může být vyhozeno několik vyjímek. Vyjímka \hyperlink{classlexical_1_1invalidToken}{invalidToken} je vyhozena pokud na vstup analyzátoru dojde neplatný symbol. Vyjímka bufferOverflow nastane při přetečení bufferu u readeru (Tato vyjímka je čistě teoretická, při správném použití readeru by nikdy neměla nastat.). std::ifstream::failure souvisí s chybou při čtení souboru. 

Dokumentace pro tuto třídu byla generována z následujících souborů:\begin{CompactItemize}
\item 
src/lexical.h\item 
src/lexical.cpp\end{CompactItemize}
